import java.util.Scanner;

public class Test4 {
    public static void main(String[] args) {
        Scanner num = new Scanner(System.in);
        int n = num.nextInt();
        int[] nums = new int[n];
        int k = num.nextInt();
        for (int i = 0; i < n; i++) {
            nums[i] = num.nextInt();
        }
        rotate(nums, k);
        for (int element : nums) {
            System.out.print(element + " ");
        }

    }

    /**
     * 给你一个数组，将数组中的元素向右轮转 k 个位置，其中 k 是非负数
     *
     * @param nums
     * @param k
     */
    public static void rotate(int[] nums, int k) {
        int len = nums.length;
        int[] temp = new int[len];
        for (int i = 0; i < len; i++) {
            temp[i] = nums[i];
        }
        for (int i = 0; i < len; i++) {
            //重新赋值的时候要保证每个元素都要往后移k位，如果超过数组的长度就从头开始，
            // 所以这里可以使用(i + k) % length来计算重新赋值的元素下标
            nums[(i + k) % len] = temp[i];
        }
    }
}
